﻿//
// Copyright (c) 2011
// by Chris Paterra
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE.
//

namespace DotNetNuke.ContentLibrary.Components.Common {

	public class ControlBehavior {

		/// <summary>
		/// Determines if the top and/or bottom pagers are visible in a listview layout template.
		/// </summary>
		public enum PagerPlacementMode {
			TopAndBottom,
			Top,
			Bottom,
			None
		}

		/// <summary>
		/// Determines the actual pager mode of the grid/list. 
		/// </summary>
		public enum PagerStyleMode
		{
			NextPrevAndNumeric,
			Slider,
			NextPrev,
			NumericPages,
			More
		}

		/// <summary>
		/// Determines if the form is above or below a corresponding listview. 
		/// </summary>
		public enum FormPlacementMode {
			Bottom,
			Top
		}

		/// <summary>
		/// Determines how the ratings control will be configured.
		/// </summary>
		/// <remarks>There is a problem when using consuming modules use MVP style, any rating control items do not work 2 levels down (ie. comment rating, review rating).</remarks>
		public enum RatingControlMode {
			/// <summary>
			/// Uses a rating control with 5 stars (or whatever image is set in the skin). These values can range from 0.1 - 5.0, depending on precision. 
			/// </summary>
			Stars,
			/// <summary>
			/// Uses a rating control and adds a thumb up/down set of images to its collection (having values of -1, 1). 
			/// </summary>
			Thumbs,
			/// <summary>
			/// Renders two link buttons, one for yes and one for no (having values of -1, 1). 
			/// </summary>
			YesNo
			///// <summary>
			///// Renders a set of images, up/down, having values of -1, 1.
			///// </summary>
			//UpDown
		}

	}

}